<HTML>
  <HEAD>
    <TITLE>The Joy Programming Language - By Manfred Von Thun</TITLE>
    <META name="description" content="Joy is a programming language based on the composition of functions and was created by Manfred Von Thun." />
    <META name="keywords" content="joy, joy programming, the joy programming language, la trobe university, manfred, manfred von thun, von thun, john cowan, Joy0, Joy1, Cat, JoyJ, concatenative, concatenative programming language, functional programming, combinators, variable free notation, higher order functions, categories, program = data" />
  </HEAD>
  <BODY>

      <H1>1. Various introductions to Joy</H1>
      These introductions contain some common material.
      <UL>
        <LI><A HREF="html/synops.html">
            Synopsis of the language Joy</A> (1K)A one-page introduction
        <LI><A HREF="html/faq.html">
            Frequently Asked Questions about Joy</A> (24K) for programmers
        <LI><A HREF="html/forth-joy.html">
            Joy: Forth's Functional Cousin</A> includes comparisons with Forth
        <LI><A HREF="http://www.vector.org.uk/?fetch=v203/vonthun203.html">
            Apter interviews von Thun</A> in APL journal Vector<BR>
          (if unsuccessful, follow "weblog" link towards end)
        <LI><A HREF="html/j00rat.html">
            Rationale</A> for Joy (65K), for theoretical computer scientists
        <LI><A HREF="html/j00ovr.html">
            Overview</A>of Joy (27K), introductory sections of other papers.
        <LI>You don't like theory? Try the tutorial below.
      </UL>

      <H1>2. Papers on Joy</H1>
      <UL>
        <LI> 1.<A HREF="html/j01tut.html">
            Tutorial on Joy </A> Revised 11-Feb-03 (47K)
        <LI> 2.<A HREF="html/j02maf.html">
            Mathematical Foundations</A> of Joy (50K)
        <LI> 3.<A HREF="html/j03atm.html">
            Atomic Programs</A> of Joy (48K)
        <LI> 4.<A HREF="html/j04alg.html">
            The Algebra</A> of Joy (56K)
        <LI> 5.<A HREF="html/j05cmp.html">
            Recursion Theory</A> and Joy (60K)
        <LI> 6.<A HREF="html/j06prg.html">
            Programming </A> in Joy (80K)
        <LI> 7.<A HREF="html/j07rrs.html">
            A rewriting system </A> for Joy (57K)
        <LI> 8.<A HREF="html/j08cnt.html">
            Joy compared </A> with other functional languages (46K)
        <LI> 9.<A HREF="html/j09imp.html">
            The current implementation </A> Revised 23-APR-03 (41K)<BR>
          The following are produced automatically and always up to date:<BR>
          <A HREF="html/plain-manual.html">plain-manual</A>
          The online manual for Joy primitives (text format)<BR>
          <A HREF="html/html-manual.html">html-manual</A>
          The same (html format)<BR>
          <A HREF="html/allhelp.html">
            List of primitive and currently defined library functions</A><BR>
          (by "help." command, all libraries loaded)<BR>
          (External) <A HREF="http://www.system-7.freeserve.co.uk/html/hlplib/">
            Nick Forde's documentation library</A><BR>
        <LI> (External) <A HREF="http://tunes.org/~iepos/joy.html">
            The Theory of Concatenative Combinators</A><BR>
          An algebraic treatment, by Brent Kerby (2002)
        <LI>A collection of diverse examples of program development in Joy:
          <UL>
            <LI><A HREF="html/jp-joyjoy.html">
                Design of a Joy interpreter written in Joy </A>
              <UL>
                <LI>Programs from the above (with additions)
                  <A HREF="src/jp-joyjoy.joy">jp-joyjoy.joy</A>
                <LI><A HREF="src/jp-joytst.joy">jp-joytst.joy</A>
                  test and
                  <A HREF="src/jp-joytst.out">jp-joytst.out</A>
                  (VMS: NOBDW) output
              </UL>
            <LI><A HREF="html/jp-matmul.html">
                Design of matrix multiplication programs</A>
            <LI><A HREF="html/jp-imper.html">
                Imperative thinking for Joy programs</A>
            <LI><A HREF="html/jp-church.html">
                Church arithmetic and Church logic</A> with Brent Kirby, and
              <A HREF="html/jp-church.joy">jp-church.joy</A>
              the source.
            <LI><A HREF="html/jp-nestrec.html">
                Nested Recursion</A> and a new recursion combinator.
            <LI><A HREF="html/jp-trutab.html">
                Fast small truth tables </A> (using Joy native sets)
            <LI><A HREF="html/jp-quadratic.html">
                The annoying quadratic formula</A>
            <LI><A HREF="html/jp-reprod.html">
                Lazy lists as reproducing programs</A>
            <LI><A HREF="html/jp-survrep.html">
                Survey of reproducing programs</A>
            <LI><A HREF="html/jp-flatjoy.html">
                Floy - a flat concatenative subbset of Joy</A>
          </UL>
        <LI><A HREF="html/joybibl.bib">
            Joy bibliography</A>
      </UL>

  </BODY>
</HTML>
